//获取应用实例
var app = getApp();
// 引入SDK核心类
var QQMapWX = require('../../utils/qqmap-wx-jssdk.js');
// 实例化API核心类
var qqmapsdk = new QQMapWX({
  key: 'QFCBZ-H53CQ-6Q35S-G3QCO-OAPLK-5ZFNR' // 必填
});
Page({
  data: {
    location:null,
    latitude:null,
    longitude:null,
    // 图标定位
    markers: [],
  },
  // 数据加载
  onLoad: function () {
    //当前定位
    var _this= this;
    wx.getLocation({
      type: 'gcj02', // 默认为 wgs84 返回 gps 坐标，gcj02 返回可用于 wx.openLocation 的坐标  
      success: function (res) {
        app.globalData.latitude = res.latitude;
        app.globalData.longitude = res.longitude;
        console.log(res.latitude);
        console.log(res.longitude);
        _this.setData({
          longitude: res.longitude,
          latitude: res.latitude
        })
        // 发送请求，POST
        // 成功后台返回location，latitude，longitude
        wx.request({
          url: app.globalData.url + 'v1/location/near',
          data:{
           x:_this.data.latitude,
           y:_this.data.longitude
          },
          method: 'POST',
          header: { 'content-type': 'application/json' },
          success: function (res) {
            console.log(res.data);
            var list=[];
              for(var i=0;i<res.data.location.length;i++){
                // _this.setData({
                //   location:res.data.location[i].locationName
                // })
                var temp={
                  iconPath: "https://sign-face.oss-cn-shanghai.aliyuncs.com/img/sign.png",
                  latitude: res.data.location[i].locationX,
                  longitude: res.data.location[i].locationY,
                  width: '100rpx',
                  height: '100rpx',
                  id: i,
                  name:res.data.location[i].locationName,
                  describe:res.data.location[i].locationDescribe,
                  // callout:{
                  //   content:res.data.location[i].locationName,
                  //   fontSize:12,
                  //   borderRadius:5,
                  //   padding:10,
                  // },     
                }

                list.push(temp);

              }
              _this.setData({
                markers:list,

              })
              console.log(_this.data.markers)
          },
          fail: function () {
            console.log('失败了');
          }
        });
      }
    })

  },
  onReady: function (e) {
    this.mapCtx = wx.createMapContext('map')
  },
  // 地图导航
  getLoc: function (e) {
    console.log(e);
    var _this = this;
    console.log(e.currentTarget.id);  // 获取当前点击的数组下标
    console.log(_this.data.markers)
    wx.getLocation({
      type: 'gcj02', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'
      success: function (res) {
        console.log(res);
        //使用微信内置地图查看位置接口
        wx.openLocation({
          latitude: parseFloat(_this.data.markers[e.detail.markerId].latitude),  // 要去的地址经度，浮点数
          longitude: parseFloat(_this.data.markers[e.detail.markerId].longitude),  // 要去的地址纬度，浮点数
          name: _this.data.markers[e.detail.markerId].name,  // 位置名
          address: _this.data.markers[e.detail.markerId].describe,  // 要去的地址详情说明
          scale: 18,   // 地图缩放级别,整形值,范围从1~28。默认为最大
          success: function(r){
            console.log(r);
          }
        });
        
      },
      cancel: function (res) {
        console.log('地图定位失败');
      }
    })

   
    //距离计算模块
    qqmapsdk.calculateDistance({
      //from参数不填默认当前地址
      //获取表单提交的经纬度并设置from和to参数（示例为string格式）
      from:app.globalData.latitude
      +','+app.globalData.longitude, //若起点有数据则采用起点坐标，若为空默认当前地址(建议不要为空，否则容易出现getLocation频繁调用的错误)
      to:_this.data.markers[e.detail.markerId].latitude
      +','+_this.data.markers[e.detail.markerId].longitude, //终点坐标
      success: function(res) {//成功后的回调
        console.log(res);
        var res = res.result;
        var dis = [];
        for (var i = 0; i < res.elements.length; i++) {
          dis.push(res.elements[i].distance); //将返回数据存入dis数组，
        }
        console.log(dis);
        _this.setData({ //设置并更新distance数据
          distance: dis
        });
      },
      fail: function(error) {
        console.error(error);
      },
      complete: function(res) {
        console.log(res);
      }
    })

  },
  navigateSchool() {
    wx.navigateTo({
      url: 'index'
    })
  },
})